package app

import (
	"log"
	"net/http"

	"gitee.com/waterwx_admin/banking/domain"
	"gitee.com/waterwx_admin/banking/service"
	"github.com/gorilla/mux"
)

// *********rest handlers*********

func Start() {

	// 自己创建一个请求多路复用器
	router := mux.NewRouter()
 

	// 注入wiring
	// ch := CustomerHandlers{service.NewDefaultCustomerService(domain.NewCustomerRepositoryStub())}
	ch := CustomerHandlers{service.NewDefaultCustomerService(domain.NewCustomerRepositoryDb())}


	// define routes

	router.HandleFunc("/customers", ch.getAllCustomers).Methods(http.MethodGet)
	router.HandleFunc("/customers/{customer_id:[0-9]+}", ch.getCustomer).Methods(http.MethodGet)


	// starting server
	log.Fatal(http.ListenAndServe("localhost:8000", router))
}

